#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<assert.h>
typedef int DateType;
struct ListNode
{
    struct ListNode* next;
    DateType val;
};
typedef struct ListNode ListNode;

ListNode* BuyNode(DateType x);
void ListPrint(ListNode* phead);
void ListPushBack(ListNode** phead,DateType x);
void ListPopBack(ListNode** phead);
void ListPushFront(ListNode** phead,DateType x);
void ListPopFront(ListNode** phead);
ListNode* findNode(ListNode* phead,DateType x);
void InsertAfterPos(ListNode* pos,DateType x);
void InsertfrontPos(ListNode** phead,ListNode* pos,DateType x);
void ErasePos(ListNode** phead,ListNode* pos);
void EraseAfterPos(ListNode* pos);
void ListDestroy(ListNode** phead);

